package g

/*
 * @lc app=leetcode.cn id=11 lang=golang
 *
 * [11] 盛最多水的容器

给定一个长度为 n 的整数数组 height 。有 n 条垂线，第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。
找出其中的两条线，使得它们与 x 轴共同构成的容器可以容纳最多的水。
返回容器可以储存的最大水量。
说明：你不能倾斜容器。
*/

// @lc code=start
func maxArea(height []int) int {
	var left int
	right := len(height) - 1
	var maxArea int
	for left < right {
		if height[left] < height[right] {
			maxArea = max(maxArea, (right-left)*height[left])
			left++
		} else {
			maxArea = max(maxArea, (right-left)*height[right])
			right--
		}
	}

	return maxArea
}

func max(x, y int) int {
	if x > y {
		return x
	}
	return y
}

// @lc code=end
